/*

    tools23d - tools for converting images to 3D formats.
    Copyright (C) 2014  Dave Gorst

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

*/

#ifndef PHOTO23D_H_INCLUDED
#define PHOTO23D_H_INCLUDED

typedef struct
{
	BOOL preserve_aspect_ratio;
	Filters filter;
	Mode mode;
	LogLevel loglevel;
	AutoCropTypes croptype;
	SortType sorttype;
	unsigned int zoom;
	ColourScheme colourscheme;

	unsigned int width;
	unsigned int height;
	unsigned char depth;

	unsigned int number_of_left_filenames;
	unsigned int number_of_right_filenames;
	char ** left_filenames;
	char ** right_filenames;
	char * output_filename;

	BOOL always_yes;

} params;

typedef t3d_return (*option_function ) (char, params *, int *, int, char **);

typedef struct
{
	option_function func;
	char * long_option;
	char * help_text;
} option;

t3d_return T3D_Run (params *);

#endif
